
package com.ve.view.utils;

import com.ve.view.text.document.Document;

public interface SearchStrategy {


    int find(Document src, String target, int start, int end,
             boolean isCaseSensitive, boolean isWholeWord);

    int wrappedFind(Document src, String target, int start,
                    boolean isCaseSensitive, boolean isWholeWord);


    int findBackwards(Document src, String target, int start, int end,
                      boolean isCaseSensitive, boolean isWholeWord);

    int wrappedFindBackwards(Document src, String target, int start,
                             boolean isCaseSensitive, boolean isWholeWord);


    Pair replaceAll(Document src, String searchText,
                    String replacementText, int mark,
                    boolean isCaseSensitive, boolean isWholeWord);

    int getProgress();
}
